МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Державний університет "Львівська політехніка"
Кафедра САПР
Звіт
з лабораторної роботи № 11
“ПРОГРАМУВАННЯ ВИВОДУ ІНФОРМАЦІЇ НА ЕКРАН НА ЕОМ З МІКРОПРОЦЕСОРОМ Intel 8086(80286)”
МЕТА РОБОТИ
Вивчити основні можливості керування екраном в текстовому та графічному режимах.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Однією з основних складових будь-якого персонального комп’ютера є монітор. Усі дисплеї можна розділити на монохромні та кольорові (графічні).
Для роботи монохромного монітора задіяно 4 Кбайти оперативної пам'яті, яка розміщена з адреси В0000Н. Дану область пам’яті називають дисплейним буфером. Два Кбайти з 4-х використано для збереження кодів символів (25 стрічок по 80 позицій в кожній) і 2 Кбайти для байтів-атрибутів, які забезпечують підкреслення, виділення яскравістю, інвертування та мигання.
Для роботи стандартного кольорового графічного монітора використано 16 Кбайт пам'яті, яка починається з адреси В8000. Такий дисплей може працювати в кольоровому чи чорно-білому режимі. Дисплейний буфер забезпечує екранні сторінки (0-3) для екрана на 80 стовпчиків та 8 сторінок (0-7) для екрана на 40 стовпчиків. Байт-атрибут містить таку інформацію для символу, який відображається на дисплеї:
1111 Фон Текст
Атрибут: BL R G В І R G В
Номер бітів: 7 6 5 4 3 2 1 0
де R, G, В - бітові позиції, які керують відповідно червоним, зеленим та синім променем в кольоровому моніторі. Біт 7 (BL) - встановлює мигання, а біт З (І) - інтенсивність світіння. Дана структура байта-атрибута справедлива для моногамного та графічного дисплея в текстовому режимі.
Усі екранні операції виконуються за допомогою команди переривання INT 10Н, яка передає керування BIOS.
При використанні цього переривання в регістр АН заноситься код, який визначає функцію переривання.
АН=00: Встановлення режиму. Вміст регістра AL може бути таким:
00 - 40x25 чорно-білий текстовий режим;
01 - 40x25 стандартний 16-кольоровий текстовий режим;
02 - 80x25 чорно-білий текстовий режим;
03 - 80x25 стандартний 16-кольоровий текстовий режим;
04 - 320x200 стандартний 4-кольоровий графічний режим;
05 - 320x200 чорно-білий графічний режим;
06 - 640x200 чорно-білий графічний режим;
07 - 80x25 чорно-білий стандартний монохромний;
OD - 320x200 16-кольоровий графічний режим (EGA);
ОЕ - 640x200 16-кольоровий графічний режим (EGA);
OF - 640x350 чорно-білий графічний режим (EGA);
10 - 640x350 64-кольоровий графічний режим (EGA);
Наступний приклад встановлює чорно-білий стандартний монохромний режим 80x25:
MOV AH, 00
MOV AL, 07
INT 10Н
АН=01: Встановлення розміру курсору. Біти 4-0 в регістрі СН визначають розмір у вертикальному напрямку, а біти 4-0 у регістрі CL - для горизонтального напрямку. Можна встановити будь-який розмір курсору по вертикалі: від 0 до 14 для монохромних та від 0 до 7 для більшості кольорових моніторів.
АН=02: Встановлення позиції курсору. Ця функція встановлює курсор на екрані у відповідності з координатами стрічки та стовпчика. В регістр ВН - номер сторінки (0-3) DH - стрічка, DL - стовпчик.
Наведемо приклад:
MOV AH, 02
MOV ВН, 01
MOV DH, 10
MOV DL, 10
INT 10Н
АН=03: Читання теперішнього місця знаходження курсору. Функція повертає в DH - номер стрічки, а в DL - номер стовпчика. (Виконуючи цю функцію, необхідно в регістр ВН занести номер сторінки.)
АН=04: Читання місцезнаходження світлового пера.
АН=05: Вибір активної сторінки.
Приклад:
MOV AH, 05
MOV AL, сторінка
INT 10Н
АН=06: Прокрутка екрана вверх. В регістр AL заносять кількість стрічок, ВН - атрибут, DX - координати. Подальші команди виконують прокрутку всього екрана на одну стрічку вверх:
MOV АН, 0602 Н
MOV ВН, 07
MOV СХ, 0000
MOV DX, 184FH
INT 10Н
АН=07: Прокрутка екрана вниз.
АН=08: Читання атрибута / символу в біжучій позиції курсору. Приклад:
MOV AH, 09
MOVAL, символ
MOV BH, сторінка
MOV BL, атрибут
MOV CX, повторення
INT 10Н
АН=0А: Вивід символу в біжучу позицію курсору. Приклад:
MOV AH, OAH
MOVAL, символ
MOV BH, сторінка
MOV CX, повторення
INT 10Н
АН=13: Вив...